#ifndef __SETTINGS_H__
#define __SETTINGS_H__

#include<string>
#include <map>

class Settings
{
private:
  std::map<std::string, std::string> codes_; 
  static std::string fileName_;
  static const std::string ERROR_VALUE_;



  Settings();
  Settings(const Settings &settings);
  Settings& operator =(const Settings &settings);
public:

  static Settings& getInstance();

  static void setFileName(const std::string &fileName);

  //load values from file
  int load();

  //save settings
  int save();
  
  void add(const std::string &key, const std::string &value);
  void del(const std::string &key);
  
  void set(const std::string &key, const std::string &value);
  const std::string& get(const std::string &key);
};
#endif
